package com.pan.framework.anno.aop;


import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 *
 * 感觉我设计的时候有些脑瘫了。。。
 * 相关切面的的信息，不应该放被代理方法的注解上，如果这样实现的话会变成对原有代码进行侵入，消解了aop的意义
 * 应该将要被代理的方法写在切面的注解上
 *
 * 这个注解,以及针对其的相关代码，应该被废弃
 *
 */
@Deprecated
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyCut {

    /**
     *
     * execution = "AspectClassName@MethodName;"
     *
     *
     * Deprecated:
     * ex:
     *  execution = "AspectClassName@MethodName(Param1Class,Param2Class, ...);" +
     *              "AspectClassName@MethodName(Param1Class,Param2Class, ...);" +
     *              ... ...
     *
     * tips:
     *  AspectClassName 是 容器名
     *
     * @return
     */
    public String execution();
}
